草庐IT

Android AsyncTask 内存泄漏

全部标签

windows - 是否有一个资源可以彻底解释 Windows 内存?

说真的,我搜索了MSDN,只得到了一半的答案-任务管理器上的列是什么意思?为什么我不能通过枚举线程、模块、堆等来计算VM使用情况?我如何确定我向我的内存管理器的客户准确地报告了还剩多少地址空间?它们的无数碰撞是在内存词汇表命名空间中吗?在线资源在短期内最有用,但在中期可以接受书籍。 最佳答案 试试MarkRussinovich的“WindowsInternals”一书,我想还有其他人。深入了解细节非常好。 关于windows-是否有一个资源可以彻底解释Windows内存?,我们在Stac

sql-server - 有人可以解释我的 Windows/SQL Server 内存使用情况吗

我正在运行具有8GBRAM和SQLServer200564位的WindowsServer2003x64。我将SQL设置为使用大量内存,但SQL进程只占用不到100MB的RAM。这是正常的吗?它正在访问索引大小为GB数的数据。此外,没有进程占用超过100MB,但只有极少量(有好心人给我解释一下内存在什么地方使用,SQL内存使用是否正常?内存使用:http://img129.imageshack.us/img129/8624/02042009210608.pngSQLServer内存设置:http://img10.imageshack.us/img10/8964/0204200921084

c++ - Windows中是否有任何内存虚拟文件API?

我有一个模块通过它的路径加载一个文件,但是我发现它很慢。我想加速它,Windows有没有什么技术可以为模块创建虚拟内存文件?非常感谢 最佳答案 我测试了BoxedAppSDK.它很棒,但它不是免费的:) 关于c++-Windows中是否有任何内存虚拟文件API?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4273328/

c++ - 如何保护两个进程之间共享内存中的字符串?

我有一block共享内存,其中包含两个进程之间的一个char字符串和一个整数。进程A写入它,进程B读取它(反之亦然)确保进程A不会在进程B正在读取它的同时更新(写入)它的最有效方法是什么?(我应该只在共享内存中使用标志,使用信号量,临界区....)如果您能指出正确的方向,我将不胜感激。谢谢。Windows,C++ 最佳答案 您不能使用CriticalSection因为这些只能用于同一进程内线程之间的同步。对于进程间同步,您需要使用Mutex或Semaphore.两者的区别在于前者只允许一个线程拥有一个资源,而后者最多允许一个最大数目

c++ - 将内存映射数据 block 读入结构

我今天一直在VC++2008上研究内存映射,但我仍然没有完全理解如何使用它或者它是否适合我的目的。我的目标是快速读取一个非常大的二进制文件。我有一个结构:typedefstruct_data{intnumber;charcharacter[512];float*entries;}Data;多次写入文件。“条目”变量是一个浮点小数数组。写入此文件后(10000个数据结构,每个“条目”数组为90000个float),我尝试使用以下函数内存映射此文件,以便我可以更快地读取数据。这是我到目前为止所拥有的:voidreadDataMmap(char*fname,//nameoffileconta

windows - 如何修复 Matlab 中 10800x10800 矩阵的内存不足错误?

情况:如何处理“出内存”错误。问题基本上是我使用10800x10800矩阵。我在32位Windows系统上。执行此操作时出现内存不足错误:a=zeros(10800,10800);这是我得到的内存:>>memoryMaximumpossiblearray:393MB(4.120e+08bytes)*Memoryavailableforallarrays:1097MB(1.150e+09bytes)**MemoryusedbyMATLAB:639MB(6.697e+08bytes)PhysicalMemory(RAM):895MB(9.387e+08bytes)*Limitedbycon

c++ - 我们可以假设内存地址的最后 2 位为 00 并重用这些位吗? Windows 7页面错误蓝屏

我的friend在64位Windows7PC上用C++编程,他想出了一个疯狂的想法来节省一点内存:他观察到他的内存地址的最后2位似乎总是00,所以他认为他可以将这些位用于其他用途,然后在需要内存地址时,只需使用位掩码将最后2位设置为0,无论是在写入还是读取内存时。他只使用最后2位的原因是它也需要在32位系统上工作。无论如何,在他的Windows764位系统上,他在运行程序时遇到以下蓝屏错误:PAGE_FAULT_IN_NON_PAGED_AREA会不会是他疯狂的内存节省想法造成的?也就是说,有时会发生内存地址的最后2位不是00的情况,并且他正在访问的内存部分位于他的一个内存页面上,部分

c++ - 内存映射文件和实际内存使用情况如何?

真的找不到任何关于这个的细节,这里是我所知道的关于Windows中的mmf的所有信息:在Windows中创建内存映射文件不会增加程序使用的表观内存量创建该文件的View消耗的内存相当于View大小这对我来说看起来很倒退,因为一方面,我知道mmf本身实际上有内存……在某处。如果我在mmf中写一些东西并破坏View,数据仍然存在。同时,为什么View会占用任何内存?它只是一个指针,不是吗?然后是ram中的实际内容和磁盘中的内容的奇怪之处。在具有分布式访问模式的大型mmf中,有时速度很快,有时则不然。我猜其中的一些有时会存储在文件中,如果一个与它或分页文件相关联,但实际上,我不知道。无论如何

windows - 监控您自己进程中的内存使用情况

让我们暂时搁置海森堡。我将如何从我自己的进程中监控该进程使用了​​多少内存?(我可能故意低估了问题,梦想有创意的答案......) 最佳答案 Quassnoi是正确的-但它也可能值得检查我们的这个问题:HowtodetermineCPUandmemoryconsumptionfrominsideaprocess其中包括代码示例 关于windows-监控您自己进程中的内存使用情况,我们在StackOverflow上找到一个类似的问题: https://stack

c++ - 从另一个进程中获取内存

在Windows中,假设我使用DLL注入(inject)进入另一个进程。我还对我注入(inject)的进程的内存进行了一些截屏,并知道我想要提取的数据的位置。假设在0xaaaaaaaa处的另一个进程中有包含特定值的数据。我如何从那个过程中获取这个值,以便我可以在我的注入(inject)应用程序中使用它?既然我被注入(inject)到进程中,我可以只使用像memcpy这样的东西吗?memcpy(value,0xaaaaaaaa,10);我假设它可能比这更复杂?编辑:对于下面的回复,我看不出WM_COPYDATA对我有何帮助,因为它用于将数据发送到另一个应用程序,而不是用于从现有应用程序检